from django.core.files.storage import Storage
from django.conf import settings


class FastDFSSorage(Storage):
    def __init__(self, fdfs_base_url=None):
        self.fdfs_base_url = fdfs_base_url or settings.FDFS_BASE_URL


    def _open(self, name, mode='rb'):
        """
        打开文件时会被调用的
        :param name: 要打开的文件的名字
        :param mode: 打开文件方式
        :return: None
        """
        # 打开文件时使用的，此时不需要，而文档告诉说明必须实现，所以pass
        pass

    def _save(self,name,content):
        """
        PS: 后台管理系统中, 需要在这个方法中实现文件上传到FastDFS服务器
        保存文件时会被调用的
        :param name: 要保存的文件名字
        :param content: 要保存的文件的二进制内容
        :return: None
        """
        # 保存文件时使用的，此时不需要，而文档告诉说明必须实现，所以pass
        pass

    def url(self, name):
        return settings.FDFS_BASE_URL + name